XCD – Simple, Modular, Formal Software Architectures
نویسندگان
چکیده
Connector-Centric Design (XCD) is a new approach for specifying software architectures that focuses on the use of complex connectors. In XCD simple interconnection mechanisms like procedure-calls, event-buses, etc. are abstracted and components take a second place. XCD aids the clear separation in a modular manner of the highlevel functional, interaction, and control system behaviour, thus increasing the reusability of both components and connectors. As such, XCD allows designers to experiment with different interaction behaviours (connectors), without having to modify the functional behaviour specifications (components). It further allows designers to experiment with different control behaviours (“role strategies”), without modifying components or connectors. Inspired by JML, XCD follows a formal, Design-byContract approach, describing behaviour through simple pre/post-conditions, which should make it easier for practitioners to use. XCD extends Design-by-Contract so as to separate contracts into functional and interaction subcontracts, and so as to allow service consumers to specify their own contractual clauses. The specifications of XCD connectors are completely decentralized (e.g., no “connector glue”) to facilitate their realization and their refinement for further formal analyses. Keywords-Software architecture; Modular specifications; Separation of functional interaction and control behaviours; Design by contract.
منابع مشابه
Xcd - Modular, Realizable Software Architectures
Connector-Centric Design (XCD) is centred around a new formal architectural description language, focusing mainly on complex connectors. Inspired by Wright and BIP, XCD aims to cleanly separate in a modular manner the high-level functional, interaction, and control system behaviours. This can aid in both increasing the understandability of architectural specifications and the reusability of com...
متن کاملHighly Analysable, Reusable, and Realisable Architectural Designs with XCD
Connector-Centric Design (XcD) is a new approach to specifying software architectures. XcD views complex connectors as highly significant in architectural designs, as it is the complex connectors that non-functional quality properties in systems can emanate from. So, XcD promotes in designs a clean separation of connectors (interaction behaviours) from components (functional behaviours). Design...
متن کاملArchitectural Specification and Analysis with XCD - The Aegis Combat System Case Study
Despite promoting precise modelling and analysis, architecture description languages (ADLs) have not yet gained the expected momentum. Indeed, practitioners prefer using far less formal languages like UML, thus hindering formal verification of models. One of the main issues with ADLs derives from process algebras which practitioners view as having a steep learning curve. In this paper, we intro...
متن کاملRealizable, Connector-Driven Software Architectures for Practising Engineers
Despite being a widely-used language for specifying software systems, UML remains less than ideal for software architectures. Architecture description languages (ADLs) were developed to provide more comprehensive support. However, so far the application of ADLs in practice has been impeded by at least one of the following problems: (i) advanced formal notations requiring a steep learning curve,...
متن کاملSpecifications of Software Architectures using Diagrams of Constructions
Formal methods promise the ultimate quality of software artifacts with mathematical proof of their correctness. Algebraic specification is one of such methods, providing formal specifications of system components suitable for verification of correctness of all individual steps in the software development process, and hence of the entire development process and of the resulting program. In this ...
متن کامل